const mongoose = require('mongoose');
const dotenv = require('dotenv');
const BlogType = require('./models/BlogType');

// 加载环境变量
dotenv.config();

// 默认博客类型数据
const defaultBlogTypes = [
  { name: '生活分享', value: 1 },
  { name: '技术交流', value: 2 },
  { name: 'vue', value: 3 },
  { name: 'js', value: 4 },
  { name: 'uniapp', value: 5 }
];

// 连接MongoDB
const connectDB = async () => {
  try {
    await mongoose.connect(process.env.MONGO_URI, {
      useNewUrlParser: true,
      useUnifiedTopology: true
    });
    console.log('MongoDB连接成功');
  } catch (error) {
    console.error('MongoDB连接失败:', error.message);
    process.exit(1);
  }
};

// 初始化博客类型数据
const initBlogTypes = async () => {
  try {
    await connectDB();
    
    // 清空现有数据
    await BlogType.deleteMany({});
    
    // 插入默认数据
    const result = await BlogType.insertMany(defaultBlogTypes);
    
    console.log(`成功初始化${result.length}个博客类型`);
    console.log('初始化的博客类型:', result);
    
    // 断开连接
    mongoose.connection.close();
    
    process.exit(0);
  } catch (error) {
    console.error('初始化博客类型失败:', error.message);
    process.exit(1);
  }
};

// 执行初始化
initBlogTypes();